using EloBuddy.SDK.Menu.Values;
using ExorAIO.Utilities;
using LeagueSharp.SDK;

namespace ExorAIO.Champions.MissFortune
{
    /// <summary>
    ///     The menu class.
    /// </summary>
    internal class Menus
    {
        /// <summary>
        ///     Sets the menu.
        /// </summary>
        public static void Initialize()
        {
            /// <summary>
            ///     Sets the menu for the Q.
            /// </summary>
            Vars.QMenu = Vars.Menu.AddSubMenu("使用 Q:");
            {
                Vars.QMenu.Add("combo", new CheckBox("连招", true));
                Vars.QMenu.Add("killsteal", new CheckBox("抢人头", true));
                Vars.QMenu.Add("jungleclear", new Slider("清野 / 如果蓝量 >= x%", 50, 0, 99));

            }

            /// <summary>
            ///     Sets the Extended Q menu.
            /// </summary>
            Vars.Q2Menu = Vars.Menu.AddSubMenu("使用 弹射 Q:");
            {
                Vars.Q2Menu.Add("combo", new CheckBox("连招", true));
                Vars.Q2Menu.Add("exkillsteal", new CheckBox("抢人头", true));
                Vars.Q2Menu.Add("mixed", new Slider("混合 / 如果蓝量 >= x%", 50, 0, 99));
                Vars.Q2Menu.Add("exlaneclear", new Slider("清线 / 如果蓝量 >= x%", 50, 0, 99));
                Vars.Q2Menu.AddGroupLabel("杂项 弹射 名单:");
                Vars.Q2Menu.Add("excombokill", new CheckBox("连招: 只在小兵可击杀时", true));
                Vars.Q2Menu.Add("exkillstealkill", new CheckBox("抢人头: 只在英雄可击杀时", true));
                Vars.Q2Menu.Add("mixedkill", new CheckBox("混合: 只在小兵可击杀", true));
                Vars.Q2Menu.Add("exlaneclearkill", new CheckBox("清线: 只在小兵可击杀时", true));
            }

            /// <summary>
            ///     Sets the Whitelist menu for the Q.
            /// </summary>
            Vars.WhiteListMenu = Vars.Menu.AddSubMenu("弹射 骚扰: 名单");
            {
                Vars.WhiteListMenu.AddLabel("提示: 这个只适用于清线和混合模式");

                foreach (var target in GameObjects.EnemyHeroes)
                {
                    Vars.WhiteListMenu.Add(target.ChampionName.ToLower(), new CheckBox($"骚扰: {target.ChampionName}", true));

                }
            }


            /// <summary>
            ///     Sets the menu for the W.
            /// </summary>
            Vars.WMenu = Vars.Menu.AddSubMenu("使用 W:");
            {
                Vars.WMenu.Add("combo", new CheckBox("连招", true));
                Vars.WMenu.Add("engager", new CheckBox("衔接", true));
                Vars.WMenu.Add("laneclear", new Slider("清线 / 如果蓝量 >= x%", 50, 0, 99));
                Vars.WMenu.Add("jungleclear", new Slider("清野 / 如果蓝量 >= x%", 50, 0, 99));
                Vars.WMenu.Add("buildings", new Slider("拆建筑 / 如果蓝量 >= x%", 50, 0, 99));

            }


            /// <summary>
            ///     Sets the menu for the E.
            /// </summary>
            Vars.EMenu = Vars.Menu.AddSubMenu("使用 E:");
            {
                Vars.EMenu.Add("combo", new CheckBox("连招", true));
                Vars.EMenu.Add("gapcloser", new CheckBox("反突进", true));
                Vars.EMenu.Add("laneclear", new Slider("清线 / 如果蓝量 >= x%", 50, 0, 99));
                Vars.EMenu.Add("jungleclear", new Slider("清野 / 如果蓝量 >= x%", 50, 0, 99));
            }

            /// <summary>
            ///     Sets the menu for the R.
            /// </summary>
            Vars.RMenu = Vars.Menu.AddSubMenu("使用 R:");
            {
                Vars.RMenu.AddLabel("运作原理:");
                Vars.RMenu.AddLabel("获取范围的目标，并按住按钮，直到要停止大招.");
                Vars.RMenu.AddLabel("EXO女枪不会移动除非你松开按键.");
                Vars.RMenu.Add("bool", new CheckBox("半-自动 R", true));
                Vars.RMenu.Add("key", new KeyBind("按键 (半-自动) : ", false, KeyBind.BindTypes.HoldActive, 'T'));
            }

            /// <summary>
            ///      Sets the miscellaneous menu.
            ///  </summary>
            Vars.MiscMenu = Vars.Menu.AddSubMenu("杂项");
            {
                Vars.MiscMenu.Add("passive", new CheckBox("尝试切换目标用被动", true));
            }

            /// <summary>
            ///     Sets the drawings menu.
            /// </summary>            
            Vars.DrawingsMenu = Vars.Menu.AddSubMenu("线圈");
            {
                Vars.DrawingsMenu.Add("q", new CheckBox("Q 范围"));
                Vars.DrawingsMenu.Add("qe", new CheckBox("Q 弹射 范围"));
                Vars.DrawingsMenu.Add("qc", new CheckBox("Q 弹射 轮廓"));
                Vars.DrawingsMenu.Add("p", new CheckBox("目标被动"));
                Vars.DrawingsMenu.Add("e", new CheckBox("E 范围"));
                Vars.DrawingsMenu.Add("r", new CheckBox("R 范围"));

            }
        }
    }
}